Projektdateien im Designer lokalisieren
Damit Projekte für mehrsprachige Teams und in internationalen Projekten verwendet werden können, ist es im Designer von List & Label möglich sowohl Sprachen anzumelden, wie auch die Elemente wie Tabellen, Felder, Variablen aus der Datenquelle und sogar auch Freitexte zu übersetzen.
Sprachen im Designer anmelden
Im Designer können verschiedene Sprachen angemeldet werden, um damit später Projektdateien einfach lokalisieren zu können. Hier werden nun die drei Sprachen Englisch, Deutsch und Französisch angemeldet und können später im Designer vom Anwender einfach im Menü gewechselt werden:
// Define LCIDs
int designerLanguageLCIDen = new CultureInfo("en").LCID;
int designerLanguageLCIDde = new CultureInfo("de").LCID;
int designerLanguageLCIDfr = new CultureInfo("fr").LCID;
// Add/declare the available design languages
// according to their respective LCID
LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDde);
LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDen);
LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDfr);
' Define LCIDs
Dim designerLanguageLCIDen As Integer = New CultureInfo("en").LCID
Dim designerLanguageLCIDde As Integer = New CultureInfo("de").LCID
Dim designerLanguageLCIDfr As Integer = New CultureInfo("fr").LCID
' Add/declare the available design languages
' according to their respective LCID
LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDde)
LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDen)
LL.DesignerWorkspace.DesignerLanguages.Add(designerLanguageLCIDfr)
Übersetzungen definieren
Nun müssen noch die einzelnen Übersetzungen für jede hinzugefügten Sprachen durchgeführt und angemeldet werden.
// Clear Dictionary
LL.Dictionary.Clear();
// The original identifiers are used for English,
// only the other languages have to be localized
// German localization
// Localize table names
LL.Dictionary.Tables.Add("Orders", "Bestellungen", designerLanguageLCIDde);
// Localize relation names
LL.Dictionary.Relations.Add("Orders2OrderDetails", "Bestellungen/Bestellposten", designerLanguageLCIDde);
// Localize field names
LL.Dictionary.Identifiers.Add("ProductID", "ProduktID", designerLanguageLCIDde);
LL.Dictionary.Identifiers.Add("ProductName", "Produktname", designerLanguageLCIDde);
// Localize additional static texts
LL.Dictionary.StaticTexts.Add("Language", "Deutsch", designerLanguageLCIDde);
LL.Dictionary.StaticTexts.Add("Summary of Sales by Year", "Verkäufe nach Jahren", designerLanguageLCIDde);
// French localization
// Localize table names
LL.Dictionary.Tables.Add("Orders", "Commandes", designerLanguageLCIDfr);
// Localize relation names
LL.Dictionary.Relations.Add("Orders2OrderDetails", "Commandes2DétailsDesCommandes", designerLanguageLCIDfr);
// Localize field names
LL.Dictionary.Identifiers.Add("ProductID", "ProduitID", designerLanguageLCIDfr);
LL.Dictionary.Identifiers.Add("ProductName", "NomDuProduit", designerLanguageLCIDfr);
// Localize additional static texts
LL.Dictionary.StaticTexts.Add("Language", "Français", designerLanguageLCIDfr);
LL.Dictionary.StaticTexts.Add("Summary of Sales by Year", "Chiffre d´affaires à année", designerLanguageLCIDfr);
' Clear Dictionary
LL.Dictionary.Clear()
' The original identifiers are used for English,
' only the other languages have to be localized
' German localization
' Localize table names
LL.Dictionary.Tables.Add("Orders", "Bestellungen", designerLanguageLCIDde)
' Localize relation names
LL.Dictionary.Relations.Add("Orders2OrderDetails", "Bestellungen/Bestellposten", designerLanguageLCIDde)
' Localize field names
LL.Dictionary.Identifiers.Add("ProductID", "ProduktID", designerLanguageLCIDde)
LL.Dictionary.Identifiers.Add("ProductName", "Produktname", designerLanguageLCIDde)
' Localize additional static texts
LL.Dictionary.StaticTexts.Add("Language", "Deutsch", designerLanguageLCIDde)
LL.Dictionary.StaticTexts.Add("Summary of Sales by Year", "Verkäufe nach Jahren", designerLanguageLCIDde)
' French localization
' Localize table names
LL.Dictionary.Tables.Add("Orders", "Commandes", designerLanguageLCIDfr)
' Localize relation names
LL.Dictionary.Relations.Add("Orders2OrderDetails", "Commandes2DétailsDesCommandes", designerLanguageLCIDfr)
' Localize field names
LL.Dictionary.Identifiers.Add("ProductID", "ProduitID", designerLanguageLCIDfr)
LL.Dictionary.Identifiers.Add("ProductName", "NomDuProduit", designerLanguageLCIDfr)
' Localize additional static texts
LL.Dictionary.StaticTexts.Add("Language", "Français", designerLanguageLCIDfr)
LL.Dictionary.StaticTexts.Add("Summary of Sales by Year", "Chiffre d´affaires à année", designerLanguageLCIDfr)
Beispiel
Ein voll funktionsfähiges Beispiel, dass die gesamte Lokalisierung zeigt, findet sich in den installierten Microsoft .NET Beispielen - sowohl in C# als auch in VB.NET.